package com.ruoyi.web.petmall.petback.service.impl;

import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.web.petmall.entity.BreedEntity;
import com.ruoyi.web.petmall.entity.PetInfoEntity;
import com.ruoyi.web.petmall.entity.TypeEntity;
import com.ruoyi.web.petmall.petback.mapper.BreedMapper;
import com.ruoyi.web.petmall.petback.mapper.PetInfoMapper;
import com.ruoyi.web.petmall.petback.mapper.TypeMapper;
import com.ruoyi.web.petmall.petback.service.PetInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class PetInfoServiceImpl implements PetInfoService {
    @Autowired
    private PetInfoMapper petInfoMapper;
    @Autowired
    private TypeMapper typeMapper;
    @Autowired
    private BreedMapper breedMapper;


    /**
     * 获取宠物信息列表
     *
     * @param petInfoEntity 宠物信息查询条件封装为 PetInfoEntity 对象
     * @return 宠物信息列表
     */
    @Override
    public List<PetInfoEntity> getPetInfoList(PetInfoEntity petInfoEntity) {
        return petInfoMapper.getPetInfoList(petInfoEntity);
    }

    /**
     * 更新宠物信息
     *
     * @param petInfoEntity 要更新的宠物信息封装为 PetInfoEntity 对象
     * @return 更新操作结果，影响的行数
     */
    @Override
    public int updatePetInfoList(PetInfoEntity petInfoEntity) {
        return petInfoMapper.updatePetInfoList(petInfoEntity);
    }

    /**
     * 删除宠物信息
     *
     * @param id 要删除的宠物信息的 ID
     * @return 删除操作结果，影响的行数
     */
    @Override
    public int deletePetInfoList(Long id) {
        return petInfoMapper.deletePetInfoList(id);
    }

    /**
     * 获取宠物类型下拉框列表
     *
     * @param typeEntity 宠物类型查询条件封装为 TypeEntity 对象
     * @return 宠物类型列表
     */
    @Override
    public List<TypeEntity> getPetInfoTypeList(TypeEntity typeEntity) {
        return typeMapper.getPetType(typeEntity);
    }

    /**
     * 获取宠物品种下拉框列表
     *
     * @param breedEntity 宠物品种查询条件封装为 BreedEntity 对象
     * @return 宠物品种列表
     */
    @Override
    public List<BreedEntity> getPetInfoBreedList(BreedEntity breedEntity) {
        return breedMapper.getPetBreed(breedEntity);
    }
}
